package com.itheima.d5_tcp2;

import java.io.DataInputStream;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;

/**
 * 目标：完成TCP通信快速入门
 *
 * 服务端开发：实现1发1收。
 */
public class Server {
    public static void main(String[] args) throws Exception {
        System.out.println("-----服务端启动成功-------");
        // 1、创建ServerSocket的对象，同时为服务端注册端口。
        ServerSocket client = new ServerSocket(8888);
        while (true) {
            // 2、使用serverSocket对象，调用一个accept方法，等待客户端的连接请求
            System.out.println("等待客户端连接：");
            try (Socket socket = client.accept();) { //socket客服
                // 其实我们也可以获取客户端的IP地址
                System.out.println("客户端连接成功：" + socket.getInetAddress());

                // 3、从socket通信管道中得到一个字节输入流。
                InputStream netIn = socket.getInputStream();

                // 4、把原始的字节输入流包装成数据输入流
                DataInputStream dataIn = new DataInputStream(netIn);

                while (true) {
                    // 5、使用数据输入流读取客户端发送过来的消息
                    String msg = dataIn.readUTF();
                    System.out.println("收到的信息：" + msg);
                    if (msg.equals("886")) {
                        break;
                    }
                }
                // 6、释放资源  自动释放资源
                //socket.close();
            } catch (Exception e) {
                System.out.println("出错啦！！");
            }
        }
        //server.close();
    }

}













